﻿package logica.objetos;
import java.util.Calendar;

import enums.TipoEstado;

import logica.jugadores.Jugador;





//
public class Partida
{

    //Identificador unico UUID.randomUUID().toString();
    private int identificador ;

    //
    private Calendar fecha ;
    
    //
    private Calendar inicio ;
    
    //
    private Jugador j1 ;

    //
    private Jugador j2 ;

    //
    private Objeto[] colObjetos ;

    //Estado de la partdia
    private TipoEstado estado;
    
    //
    static int movimientosPorTurno; 
    
    //id de jugador que tiene el turno
    private String turnoActual;

    //nombre de la Partida
    private String nombPartida;
    
    //id del Mapa asociado a partida
    private int idMapa;
    
    private int numeroTurno;
    
    private int cargueroEnTurno;
    
    


	public Partida() 
	{
		identificador = -1;
		fecha = Calendar.getInstance();
		j1 = null;
		j2 = null;
		colObjetos = null;
		estado = TipoEstado.ESPERANDO;
		inicio = null;
		turnoActual = "";
		nombPartida="";
		idMapa=0;
	}


	/**
	 * @param identificador
	 * @param fecha
	 * @param inicio
	 * @param j1
	 * @param j2
	 * @param colObjetos
	 * @param estado
	 * @param turnoActual
	 * @param nombPartida
	 * @param idMapa
	 */
	public Partida(int identificador, Calendar fecha, 
			Jugador j1, Jugador j2,  Objeto[] colObjetos, TipoEstado estado,
			Calendar inicio, String turnoActual, String nombPartida, int idMapa, 
			int numeroTurno, 
			int cargueroEnTurno) {
		super();
		this.identificador = identificador;
		this.fecha = fecha;
		this.inicio = inicio;
		this.j1 = j1;
		this.j2 = j2;
		this.colObjetos = colObjetos;
		this.estado = estado;
		this.inicio = inicio;
		this.turnoActual = turnoActual;
		this.nombPartida = nombPartida;
		this.idMapa = idMapa;
		this.numeroTurno = numeroTurno;
		this.cargueroEnTurno = cargueroEnTurno;
	}


	/**
	 * @return the identificador
	 */
	public int getIdentificador() {
		return identificador;
	}


	/**
	 * @param identificador the identificador to set
	 */
	public void setIdentificador(int identificador) {
		this.identificador = identificador;
	}


	/**
	 * @return the fecha
	 */
	public Calendar getFecha() {
		return fecha;
	}


	/**
	 * @param fecha the fecha to set
	 */
	public void setFecha(Calendar fecha) {
		this.fecha = fecha;
	}


	/**
	 * @return the inicio
	 */
	public Calendar getInicio() {
		return inicio;
	}


	/**
	 * @param inicio the inicio to set
	 */
	public void setInicio(Calendar inicio) {
		this.inicio = inicio;
	}


	/**
	 * @return the j1
	 */
	public Jugador getJ1() {
		return j1;
	}


	/**
	 * @param j1 the j1 to set
	 */
	public void setJ1(Jugador j1) {
		this.j1 = j1;
	}


	/**
	 * @return the j2
	 */
	public Jugador getJ2() {
		return j2;
	}


	/**
	 * @param j2 the j2 to set
	 */
	public void setJ2(Jugador j2) {
		this.j2 = j2;
	}


	/**
	 * @return the colObjetos
	 */
	public Objeto[] getColObjetos() {
		return colObjetos;
	}


	/**
	 * @param colObjetos the colObjetos to set
	 */
	public void setColObjetos(Objeto[] colObjetos) {
		this.colObjetos = colObjetos;
	}


	/**
	 * @return the estado
	 */
	public TipoEstado getEstado() {
		return estado;
	}


	/**
	 * @param estado the estado to set
	 */
	public void setEstado(TipoEstado estado) {
		this.estado = estado;
	}


	/**
	 * @return the movimientosPorTurno
	 */
	public static int getMovimientosPorTurno() {
		return movimientosPorTurno;
	}


	/**
	 * @param movimientosPorTurno the movimientosPorTurno to set
	 */
	public static void setMovimientosPorTurno(int movimientosPorTurno) {
		Partida.movimientosPorTurno = movimientosPorTurno;
	}


	/**
	 * @return the turnoActual
	 */
	public String getTurnoActual() {
		return turnoActual;
	}


	/**
	 * @param turnoActual the turnoActual to set
	 */
	public void setTurnoActual(String turnoActual) {
		this.turnoActual = turnoActual;
	}


	/**
	 * @return the nombPartida
	 */
	public String getNombPartida() {
		return nombPartida;
	}


	/**
	 * @param nombPartida the nombPartida to set
	 */
	public void setNombPartida(String nombPartida) {
		this.nombPartida = nombPartida;
	}


	/**
	 * @return the idMapa
	 */
	public int getIdMapa() {
		return idMapa;
	}


	/**
	 * @param idMapa the idMapa to set
	 */
	public void setIdMapa(int idMapa) {
		this.idMapa = idMapa;
	}

	public int getNumeroTurno() {
		return numeroTurno;
	}


	public void setNumeroTurno(int numeroTurno) {
		this.numeroTurno = numeroTurno;
	}


	public int getCargueroEnTurno() {
		return cargueroEnTurno;
	}


	public void setCargueroEnTurno(int cargueroEnTurno) {
		this.cargueroEnTurno = cargueroEnTurno;
	}

}